The present invention generally relates to transaction processing systems, and more specifically, to an improved output processor for a high-volume transaction processing system.
Today's transaction processing systems (TPSs) require complex output messages to be returned to their related online banking systems. The size of these output messages can vary in length from a very short message (for example, 100 bytes) to very large messages up to the maximum message size allowed by the TPS (for example, 1 megabyte). The size of the output messages required for the online banking systems can vary throughout the hour, throughout the day, throughout the month, and throughout the year as the online banking customers query different functions in their accounts ranging from daily balance information to year-end tax-related issues. TPS support for “big data” and constant introduction of new application models add to the complexity of delivering transaction output messages to the online Banking Systems from the TPS.
Currently, many TPS systems use the TPS maximum allowable output message size to allocate the TPS output buffer used to return the output message to the distributed online banking systems. This is due to the complexity of the TPS output messages. Each TPS output message can consist of a message prefix and 1 to many message segments, which are obtained from the TPS output queue via a series of get segment calls. The TPS output message can potentially be edited by user-provided output message edit routines, again changing the size of the TPS output message. The maximum allowable TPS output buffer allocation is done to enhance the overall transaction throughput performance of the TPS because every output message will always fit inside the TPS output message buffer, regardless of complexity.
When the TPS uses the Maximum Allowable Output Message Size as the TPS output message buffer size, it consumes unnecessary amounts of physical storage. For a TPS with the throughput rate of 20,000 mobile transactions per second, 20,000 output buffers would be allocated at the same time. If the maximum output buffer size is 1 megabyte for the TPS, 20 gigabytes of physical storage would be needed to deliver these output messages. Because physical storage is a limited system commodity for the underlying hardware environment, the operating system, on which the TPS runs, exhibits either extreme degradation or catastrophic termination events making it impossible for the TPS to deliver these output messages in a timely manner to the online banking systems during peak high-volume periods where transaction receipts can exceed the capacity of the TPS storage management component.